#pragma once
#include <my_header.h>
// 用户可根据项目需求自定义任务结构体
typedef struct task_s {
    int client_fd;
    void (*handler)(int); // 任务处理函数
    struct task_s *next;
} task_t;

typedef struct {
    task_t *head;
    task_t *tail;
    int size;

    pthread_mutex_t mutex;
    pthread_cond_t cond;
} task_queue_t;

void task_queue_init(task_queue_t *queue);
void task_queue_push(task_queue_t *queue, task_t *task);
task_t *task_queue_pop(task_queue_t *queue);
void task_queue_destroy(task_queue_t *queue);
